package com.cy.db.sys.service;

import com.cy.db.common.pojo.PageObject;
import com.cy.db.common.vo.CheckBox;
import com.cy.db.sys.entity.SysRole;
import com.cy.db.sys.vo.SysRoleMenuVO;

import java.util.List;

public interface SysRoleService {
    /**
     *  查询当前页角色信息
     * @param username 用户名
     * @param pageCurrent 当前页码值
     * @return PageObject<SysRole>
     */
    PageObject<SysRole> findPageObjects(String username, Long pageCurrent);

    /**
     *  根据id删除角色信息
     * @param id 用户id
     * @return 删除的记录数
     */
    int deleteObject(Integer id);

    /**
     * 添加角色信息
     * @param entity 实体类
     * @param menuIds 菜单id
     * @return 添加的记录数
     */
    int saveObject(SysRole entity, Integer[] menuIds);

    /**
     *  基于角色id获取角色以及角色对应的菜单id
     * @return
     */
    SysRoleMenuVO findObjectById(Integer id);

    /**
     *  修改角色信息
     * @param entity 角色对象
     * @param menuIds 菜单id
     * @return 修改的记录数
     */
    int updateObject(SysRole entity, Integer[] menuIds);

    /**
     *  用户页面角色呈现
     * @return List<CheckBox>
     */
    List<CheckBox> findObjects();
}
